package org.langqiao.oop;

/**
 * 
 * @author YMY
 * result:
 * 父类--静态变量
 * 父类--静态初始化块
 * 子类--静态变量
 * 子类--静态初始化块
 * 父类--初始化块
 * 父类--变量
 * 父类--构造器
 * 子类--初始化块
 * 子类--变量
 * 子类--构造器
 */
class InitialOrderExtendTest1 {
	
	private static String staticField="父类--静态变量";
	private String field="父类--变量";
	
	public InitialOrderExtendTest1(){
		System.out.println("父类--构造器");
	}
	//初始化块
	{
		System.out.println("父类--初始化块");
		System.out.println(field);
		
	}
	//静态初始化块
	static{
		System.out.println(staticField);
		System.out.println("父类--静态初始化块");
	}
	
	public static void main(String[] args){
		new InitialOrderExtendTest();
	}
}
public class InitialOrderExtendTest extends InitialOrderExtendTest1 {
	
	private static String static_Field="子类--静态变量";
	private String field_="子类--变量";
	
	public InitialOrderExtendTest(){
		System.out.println("子类--构造器");
	}
	//初始化块
	{
		System.out.println("子类--初始化块");
		System.out.println(field_);
		
	}
	//静态初始化块
	static{
		System.out.println(static_Field);
		System.out.println("子类--静态初始化块");
	}
	
	public static void main(String[] args){
		new InitialOrderExtendTest();
	}
}



